2.2 命名

对变量、常量、函数、自定义类型进行命名,通常优先选用有实际含义,易于阅读和理解的字母或单词组合。

命名建议

  • 以字母或下画线开始,由多个字母、数字和下画线组合而成。
  • 区分大小写。
  • 使用驼峰(camel case)拼写格式。
  • 局部变量优先使用短名。
  • 不要使用保留关键字。
  • 不建议使用与预定义常量、类型、内置函数相同的名字。
  • 专有名词通常会全部大写,例如escapeHTML。

尽管Go支持用汉字等Unicode字符命名,但从编程习惯上来说,这并不是好选择。

func main() { 
   var c int              //c代替count
   for i:=0;i<10;i++ {      //i代替index
       c++ 
    } 
  
   println(c) 
}

符号名字首字母大小写决定了其作用域。首字母大写的为导出成员,可被包外引用,而小写则仅能在包内使用。相关细节,可参考后续章节。

空标识符

和Python类似,Go也有个名为“_”的特殊成员(blank identifier)。通常作为忽略占位符使用,可作表达式左值,无法读取内容

import "strconv" 
  
func main() {  
   x, _ :=strconv.Atoi("12")     // 忽略Atoi的err返回值 
   println(x) 
}

空标识符可用来临时规避编译器对未使用变量和导入包的错误检查。但请注意,它是预置成员,不能重新定义。